#ifndef TEXTURE_H
#define TEXTURE_H

#include <string>
#include <GL/glut.h>
//#include <list>

class Texture {
	public:
		int m_id;
		float m_x, m_y;
		std::string m_textureFilename;

		/* Image type - contains height, width, and data */
		struct Image {
		//didn't work (anymore?)
		//    unsigned long sizeX;
		//    unsigned long sizeY;
		    unsigned int sizeX;
		    unsigned int sizeY;
		    char *data;
		};
		typedef struct Image Image;

		/* storage for one texture  */
		GLuint texture[1];

		Texture();
		~Texture();
		void loadGLTextures(std::string texfname);
		GLuint getGLTexID();
		
	private:
		int ImageLoad(char *filename, Image *image);
};

#endif
